<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Alexa Auto SDK: aace::alexa::AlexaClient Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="aace-logo.png"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Alexa Auto SDK
   &#160;<span id="projectnumber">2.2.0</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><b>aace</b></li><li class="navelem"><b>alexa</b></li><li class="navelem"><a class="el" href="classaace_1_1alexa_1_1_alexa_client.html">AlexaClient</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classaace_1_1alexa_1_1_alexa_client-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">aace::alexa::AlexaClient Class Reference</div>  </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:a5f3b9fc09843bc68b5bb9f0ed6b8586e"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classaace_1_1alexa_1_1_alexa_client.html#a5f3b9fc09843bc68b5bb9f0ed6b8586e">DialogState</a> { <br />
&#160;&#160;<a class="el" href="classaace_1_1alexa_1_1_alexa_client.html#a5f3b9fc09843bc68b5bb9f0ed6b8586eaa5daf7f2ebbba4975d61dab1c40188c7">DialogState::IDLE</a>, 
<br />
&#160;&#160;<a class="el" href="classaace_1_1alexa_1_1_alexa_client.html#a5f3b9fc09843bc68b5bb9f0ed6b8586eac0ff938e396e72c225bd66562b80a77e">DialogState::LISTENING</a>, 
<br />
&#160;&#160;<a class="el" href="classaace_1_1alexa_1_1_alexa_client.html#a5f3b9fc09843bc68b5bb9f0ed6b8586eabd416d769c9ba62060c04ae8455e98d2">DialogState::EXPECTING</a>, 
<br />
&#160;&#160;<a class="el" href="classaace_1_1alexa_1_1_alexa_client.html#a5f3b9fc09843bc68b5bb9f0ed6b8586ea18004389aa6f827c608aad2441a2bc53">DialogState::THINKING</a>, 
<br />
&#160;&#160;<a class="el" href="classaace_1_1alexa_1_1_alexa_client.html#a5f3b9fc09843bc68b5bb9f0ed6b8586eaddee564b336f5de690b746eb04e62114">DialogState::SPEAKING</a>
<br />
 }</td></tr>
<tr class="separator:a5f3b9fc09843bc68b5bb9f0ed6b8586e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a375451d4d9cb626701ac8cbaa02ffbe2"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classaace_1_1alexa_1_1_alexa_client.html#a375451d4d9cb626701ac8cbaa02ffbe2">ConnectionStatus</a> { <br />
&#160;&#160;<a class="el" href="classaace_1_1alexa_1_1_alexa_client.html#a375451d4d9cb626701ac8cbaa02ffbe2a99c8ce56e7ab246445d3b134724428f3">ConnectionStatus::DISCONNECTED</a>, 
<br />
&#160;&#160;<a class="el" href="classaace_1_1alexa_1_1_alexa_client.html#a375451d4d9cb626701ac8cbaa02ffbe2ac69f06e1a9b016d133907b4e5f5864d2">ConnectionStatus::PENDING</a>, 
<br />
&#160;&#160;<a class="el" href="classaace_1_1alexa_1_1_alexa_client.html#a375451d4d9cb626701ac8cbaa02ffbe2aa5afd6edd5336d91316964e493936858">ConnectionStatus::CONNECTED</a>
<br />
 }</td></tr>
<tr class="separator:a375451d4d9cb626701ac8cbaa02ffbe2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a05af151f4b7fdd47b9ea56e504074e05"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classaace_1_1alexa_1_1_alexa_client.html#a05af151f4b7fdd47b9ea56e504074e05">ConnectionChangedReason</a> { <br />
&#160;&#160;<a class="el" href="classaace_1_1alexa_1_1_alexa_client.html#a05af151f4b7fdd47b9ea56e504074e05ab50339a10e1de285ac99d4c3990b8693">ConnectionChangedReason::NONE</a>, 
<br />
&#160;&#160;<a class="el" href="classaace_1_1alexa_1_1_alexa_client.html#a05af151f4b7fdd47b9ea56e504074e05ad0749aaba8b833466dfcbb0428e4f89c">ConnectionChangedReason::SUCCESS</a>, 
<br />
&#160;&#160;<a class="el" href="classaace_1_1alexa_1_1_alexa_client.html#a05af151f4b7fdd47b9ea56e504074e05aa0d7ca35e85a9f7eb269d17c780ab691">ConnectionChangedReason::UNRECOVERABLE_ERROR</a>, 
<br />
&#160;&#160;<a class="el" href="classaace_1_1alexa_1_1_alexa_client.html#a05af151f4b7fdd47b9ea56e504074e05a5cd351b726751149c0464e3d9c23dcf1">ConnectionChangedReason::ACL_CLIENT_REQUEST</a>, 
<br />
&#160;&#160;<a class="el" href="classaace_1_1alexa_1_1_alexa_client.html#a05af151f4b7fdd47b9ea56e504074e05aa81589ff9e0102b95f3eafce18463d1a">ConnectionChangedReason::ACL_DISABLED</a>, 
<br />
&#160;&#160;<a class="el" href="classaace_1_1alexa_1_1_alexa_client.html#a05af151f4b7fdd47b9ea56e504074e05aff2281b1a4e2df717c0cc8019eacfab6">ConnectionChangedReason::DNS_TIMEDOUT</a>, 
<br />
&#160;&#160;<a class="el" href="classaace_1_1alexa_1_1_alexa_client.html#a05af151f4b7fdd47b9ea56e504074e05a1e5d3c84593c457cee72e18634f28914">ConnectionChangedReason::CONNECTION_TIMEDOUT</a>, 
<br />
&#160;&#160;<a class="el" href="classaace_1_1alexa_1_1_alexa_client.html#a05af151f4b7fdd47b9ea56e504074e05a8ca1e58168f20f0b69f8ae91fd3426f7">ConnectionChangedReason::CONNECTION_THROTTLED</a>, 
<br />
&#160;&#160;<a class="el" href="classaace_1_1alexa_1_1_alexa_client.html#a05af151f4b7fdd47b9ea56e504074e05aabd298f8599f681c645d152c354f24de">ConnectionChangedReason::INVALID_AUTH</a>, 
<br />
&#160;&#160;<a class="el" href="classaace_1_1alexa_1_1_alexa_client.html#a05af151f4b7fdd47b9ea56e504074e05a2e03079aa2f230632487842f6cce997a">ConnectionChangedReason::PING_TIMEDOUT</a>, 
<br />
&#160;&#160;<a class="el" href="classaace_1_1alexa_1_1_alexa_client.html#a05af151f4b7fdd47b9ea56e504074e05a97af85d432104a37a1d183a76f05ad98">ConnectionChangedReason::WRITE_TIMEDOUT</a>, 
<br />
&#160;&#160;<a class="el" href="classaace_1_1alexa_1_1_alexa_client.html#a05af151f4b7fdd47b9ea56e504074e05acc3d4fecdd44cc6a7090ead5bcdc89a0">ConnectionChangedReason::READ_TIMEDOUT</a>, 
<br />
&#160;&#160;<a class="el" href="classaace_1_1alexa_1_1_alexa_client.html#a05af151f4b7fdd47b9ea56e504074e05aafb0ae7bf77c6f70390d3658d3e12033">ConnectionChangedReason::FAILURE_PROTOCOL_ERROR</a>, 
<br />
&#160;&#160;<a class="el" href="classaace_1_1alexa_1_1_alexa_client.html#a05af151f4b7fdd47b9ea56e504074e05ae8c0c70879b5895c615677261d64a1ee">ConnectionChangedReason::INTERNAL_ERROR</a>, 
<br />
&#160;&#160;<a class="el" href="classaace_1_1alexa_1_1_alexa_client.html#a05af151f4b7fdd47b9ea56e504074e05a6a701b3f16c45b9d96fec4ac97805d9c">ConnectionChangedReason::SERVER_INTERNAL_ERROR</a>, 
<br />
&#160;&#160;<a class="el" href="classaace_1_1alexa_1_1_alexa_client.html#a05af151f4b7fdd47b9ea56e504074e05ac15c6f3c089148a1bfa565ab4efea186">ConnectionChangedReason::SERVER_SIDE_DISCONNECT</a>, 
<br />
&#160;&#160;<a class="el" href="classaace_1_1alexa_1_1_alexa_client.html#a05af151f4b7fdd47b9ea56e504074e05acb2bd81ff7f58b2c6782fe390a723bbe">ConnectionChangedReason::SERVER_ENDPOINT_CHANGED</a>
<br />
 }</td></tr>
<tr class="separator:a05af151f4b7fdd47b9ea56e504074e05"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a0c91642e76d6501af40ef878f12d7bf4"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classaace_1_1alexa_1_1_alexa_client.html#a0c91642e76d6501af40ef878f12d7bf4">dialogStateChanged</a> (<a class="el" href="classaace_1_1alexa_1_1_alexa_client.html#a5f3b9fc09843bc68b5bb9f0ed6b8586e">DialogState</a> state)</td></tr>
<tr class="separator:a0c91642e76d6501af40ef878f12d7bf4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6b469f0511ffdea1083044f0fe9f421e"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classaace_1_1alexa_1_1_alexa_client.html#a6b469f0511ffdea1083044f0fe9f421e">authStateChanged</a> (<a class="el" href="classaace_1_1alexa_1_1_auth_provider_engine_interface.html#abe4ab37548dfaf7744afe9078e1792ec">AuthState</a> state, <a class="el" href="classaace_1_1alexa_1_1_auth_provider_engine_interface.html#a006d3fd3bee07feafa325968054abc37">AuthError</a> error)</td></tr>
<tr class="separator:a6b469f0511ffdea1083044f0fe9f421e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a70491bf5bb02e0fce4d8fcf2bc206261"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classaace_1_1alexa_1_1_alexa_client.html#a70491bf5bb02e0fce4d8fcf2bc206261">connectionStatusChanged</a> (<a class="el" href="classaace_1_1alexa_1_1_alexa_client.html#a375451d4d9cb626701ac8cbaa02ffbe2">ConnectionStatus</a> status, <a class="el" href="classaace_1_1alexa_1_1_alexa_client.html#a05af151f4b7fdd47b9ea56e504074e05">ConnectionChangedReason</a> reason)</td></tr>
<tr class="separator:a70491bf5bb02e0fce4d8fcf2bc206261"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p><a class="el" href="classaace_1_1alexa_1_1_alexa_client.html">AlexaClient</a> should be extended to handle Alexa state changes on the platform. </p>
</div><h2 class="groupheader">Member Enumeration Documentation</h2>
<a id="a5f3b9fc09843bc68b5bb9f0ed6b8586e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5f3b9fc09843bc68b5bb9f0ed6b8586e">&#9670;&nbsp;</a></span>DialogState</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="classaace_1_1alexa_1_1_alexa_client.html#a5f3b9fc09843bc68b5bb9f0ed6b8586e">aace::alexa::AlexaClient::DialogState</a></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">strong</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Describes the state of Alexa dialog interaction </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a5f3b9fc09843bc68b5bb9f0ed6b8586eaa5daf7f2ebbba4975d61dab1c40188c7"></a>IDLE&#160;</td><td class="fielddoc"><p>Alexa is idle and ready for an interaction. </p>
</td></tr>
<tr><td class="fieldname"><a id="a5f3b9fc09843bc68b5bb9f0ed6b8586eac0ff938e396e72c225bd66562b80a77e"></a>LISTENING&#160;</td><td class="fielddoc"><p>Alexa is currently listening. </p>
</td></tr>
<tr><td class="fieldname"><a id="a5f3b9fc09843bc68b5bb9f0ed6b8586eabd416d769c9ba62060c04ae8455e98d2"></a>EXPECTING&#160;</td><td class="fielddoc"><p>Alexa is currently expecting a response from the user. </p>
</td></tr>
<tr><td class="fieldname"><a id="a5f3b9fc09843bc68b5bb9f0ed6b8586ea18004389aa6f827c608aad2441a2bc53"></a>THINKING&#160;</td><td class="fielddoc"><p>A user request has completed, and no more user input is being accepted. Alexa is waiting for a response from AVS. </p>
</td></tr>
<tr><td class="fieldname"><a id="a5f3b9fc09843bc68b5bb9f0ed6b8586eaddee564b336f5de690b746eb04e62114"></a>SPEAKING&#160;</td><td class="fielddoc"><p>Alexa is responding to a request with speech. </p>
</td></tr>
</table>

</div>
</div>
<a id="a375451d4d9cb626701ac8cbaa02ffbe2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a375451d4d9cb626701ac8cbaa02ffbe2">&#9670;&nbsp;</a></span>ConnectionStatus</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="classaace_1_1alexa_1_1_alexa_client.html#a375451d4d9cb626701ac8cbaa02ffbe2">aace::alexa::AlexaClient::ConnectionStatus</a></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">strong</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Describes the status of an AVS connection </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a375451d4d9cb626701ac8cbaa02ffbe2a99c8ce56e7ab246445d3b134724428f3"></a>DISCONNECTED&#160;</td><td class="fielddoc"><p>Not connected to AVS </p>
</td></tr>
<tr><td class="fieldname"><a id="a375451d4d9cb626701ac8cbaa02ffbe2ac69f06e1a9b016d133907b4e5f5864d2"></a>PENDING&#160;</td><td class="fielddoc"><p>Attempting to establish a connection to AVS </p>
</td></tr>
<tr><td class="fieldname"><a id="a375451d4d9cb626701ac8cbaa02ffbe2aa5afd6edd5336d91316964e493936858"></a>CONNECTED&#160;</td><td class="fielddoc"><p>Connected to AVS </p>
</td></tr>
</table>

</div>
</div>
<a id="a05af151f4b7fdd47b9ea56e504074e05"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a05af151f4b7fdd47b9ea56e504074e05">&#9670;&nbsp;</a></span>ConnectionChangedReason</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="classaace_1_1alexa_1_1_alexa_client.html#a05af151f4b7fdd47b9ea56e504074e05">aace::alexa::AlexaClient::ConnectionChangedReason</a></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">strong</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Describes the reason for a change in AVS connection status </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a05af151f4b7fdd47b9ea56e504074e05ab50339a10e1de285ac99d4c3990b8693"></a>NONE&#160;</td><td class="fielddoc"><p>No reason specified. </p>
</td></tr>
<tr><td class="fieldname"><a id="a05af151f4b7fdd47b9ea56e504074e05ad0749aaba8b833466dfcbb0428e4f89c"></a>SUCCESS&#160;</td><td class="fielddoc"><p>The connection status changed due to a successful operation. </p>
</td></tr>
<tr><td class="fieldname"><a id="a05af151f4b7fdd47b9ea56e504074e05aa0d7ca35e85a9f7eb269d17c780ab691"></a>UNRECOVERABLE_ERROR&#160;</td><td class="fielddoc"><p>The connection status changed due to an error from which there is no recovery. </p>
</td></tr>
<tr><td class="fieldname"><a id="a05af151f4b7fdd47b9ea56e504074e05a5cd351b726751149c0464e3d9c23dcf1"></a>ACL_CLIENT_REQUEST&#160;</td><td class="fielddoc"><p>The connection status changed due to a client request. </p>
</td></tr>
<tr><td class="fieldname"><a id="a05af151f4b7fdd47b9ea56e504074e05aa81589ff9e0102b95f3eafce18463d1a"></a>ACL_DISABLED&#160;</td><td class="fielddoc"><p>The connection attempt failed because connection was disabled. </p>
</td></tr>
<tr><td class="fieldname"><a id="a05af151f4b7fdd47b9ea56e504074e05aff2281b1a4e2df717c0cc8019eacfab6"></a>DNS_TIMEDOUT&#160;</td><td class="fielddoc"><p>The connection attempt failed due to a DNS resolution timeout. </p>
</td></tr>
<tr><td class="fieldname"><a id="a05af151f4b7fdd47b9ea56e504074e05a1e5d3c84593c457cee72e18634f28914"></a>CONNECTION_TIMEDOUT&#160;</td><td class="fielddoc"><p>The connection attempt failed due to a connection timeout. </p>
</td></tr>
<tr><td class="fieldname"><a id="a05af151f4b7fdd47b9ea56e504074e05a8ca1e58168f20f0b69f8ae91fd3426f7"></a>CONNECTION_THROTTLED&#160;</td><td class="fielddoc"><p>The connection attempt failed due to excessive load on the server. </p>
</td></tr>
<tr><td class="fieldname"><a id="a05af151f4b7fdd47b9ea56e504074e05aabd298f8599f681c645d152c354f24de"></a>INVALID_AUTH&#160;</td><td class="fielddoc"><p>The provided access credentials were invalid. </p>
</td></tr>
<tr><td class="fieldname"><a id="a05af151f4b7fdd47b9ea56e504074e05a2e03079aa2f230632487842f6cce997a"></a>PING_TIMEDOUT&#160;</td><td class="fielddoc"><p>There was a timeout sending a ping request. </p>
</td></tr>
<tr><td class="fieldname"><a id="a05af151f4b7fdd47b9ea56e504074e05a97af85d432104a37a1d183a76f05ad98"></a>WRITE_TIMEDOUT&#160;</td><td class="fielddoc"><p>There was a timeout writing to AVS. </p>
</td></tr>
<tr><td class="fieldname"><a id="a05af151f4b7fdd47b9ea56e504074e05acc3d4fecdd44cc6a7090ead5bcdc89a0"></a>READ_TIMEDOUT&#160;</td><td class="fielddoc"><p>There was a timeout reading from AVS. </p>
</td></tr>
<tr><td class="fieldname"><a id="a05af151f4b7fdd47b9ea56e504074e05aafb0ae7bf77c6f70390d3658d3e12033"></a>FAILURE_PROTOCOL_ERROR&#160;</td><td class="fielddoc"><p>There was an underlying protocol error. </p>
</td></tr>
<tr><td class="fieldname"><a id="a05af151f4b7fdd47b9ea56e504074e05ae8c0c70879b5895c615677261d64a1ee"></a>INTERNAL_ERROR&#160;</td><td class="fielddoc"><p>There was an internal error. </p>
</td></tr>
<tr><td class="fieldname"><a id="a05af151f4b7fdd47b9ea56e504074e05a6a701b3f16c45b9d96fec4ac97805d9c"></a>SERVER_INTERNAL_ERROR&#160;</td><td class="fielddoc"><p>There was an internal error on the server. </p>
</td></tr>
<tr><td class="fieldname"><a id="a05af151f4b7fdd47b9ea56e504074e05ac15c6f3c089148a1bfa565ab4efea186"></a>SERVER_SIDE_DISCONNECT&#160;</td><td class="fielddoc"><p>The server asked the client to reconnect. </p>
</td></tr>
<tr><td class="fieldname"><a id="a05af151f4b7fdd47b9ea56e504074e05acb2bd81ff7f58b2c6782fe390a723bbe"></a>SERVER_ENDPOINT_CHANGED&#160;</td><td class="fielddoc"><p>The server endpoint has changed. </p>
</td></tr>
</table>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a0c91642e76d6501af40ef878f12d7bf4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0c91642e76d6501af40ef878f12d7bf4">&#9670;&nbsp;</a></span>dialogStateChanged()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void aace::alexa::AlexaClient::dialogStateChanged </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classaace_1_1alexa_1_1_alexa_client.html#a5f3b9fc09843bc68b5bb9f0ed6b8586e">DialogState</a>&#160;</td>
          <td class="paramname"><em>state</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Notifies the platform implementation of an Alexa dialog state change</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">state</td><td>The new Alexa dialog state</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>It is the responsibility of the platform implementation to provide a familiar Alexa experience for the user. See the AVS UX Attention System guidelines for recommendations on communicating Alexa attention states: <a href="https://developer.amazon.com/docs/alexa-voice-service/ux-design-attention.html#implement">https://developer.amazon.com/docs/alexa-voice-service/ux-design-attention.html#implement</a> </dd></dl>

</div>
</div>
<a id="a6b469f0511ffdea1083044f0fe9f421e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6b469f0511ffdea1083044f0fe9f421e">&#9670;&nbsp;</a></span>authStateChanged()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void aace::alexa::AlexaClient::authStateChanged </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classaace_1_1alexa_1_1_auth_provider_engine_interface.html#abe4ab37548dfaf7744afe9078e1792ec">AuthState</a>&#160;</td>
          <td class="paramname"><em>state</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classaace_1_1alexa_1_1_auth_provider_engine_interface.html#a006d3fd3bee07feafa325968054abc37">AuthError</a>&#160;</td>
          <td class="paramname"><em>error</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Notifies the platform implementation of an AVS authorization state change</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">state</td><td>The new authorization state </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">error</td><td>The error state of the authorization attempt </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a70491bf5bb02e0fce4d8fcf2bc206261"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a70491bf5bb02e0fce4d8fcf2bc206261">&#9670;&nbsp;</a></span>connectionStatusChanged()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void aace::alexa::AlexaClient::connectionStatusChanged </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classaace_1_1alexa_1_1_alexa_client.html#a375451d4d9cb626701ac8cbaa02ffbe2">ConnectionStatus</a>&#160;</td>
          <td class="paramname"><em>status</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classaace_1_1alexa_1_1_alexa_client.html#a05af151f4b7fdd47b9ea56e504074e05">ConnectionChangedReason</a>&#160;</td>
          <td class="paramname"><em>reason</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Notifies the platform implementation of an AVS connection status change</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">status</td><td>The new AVS connection status </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">reason</td><td>The reason for the status change </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
</div><!-- contents -->
<html>
  <body>
    <hr style="height:1px;border-width:0;color:gray;background-color:gray">
    <p style="text-align:left;">
      Alexa Auto SDK 2.2.0 - Copyright 2017-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
      <span style="float:right;">
        Licensed under the <a HREF=http://aws.amazon.com/apache2.0/>Apache License, Version 2.0</a>
      </span>
    </p>
  </body>
</html>
